// package com.yc.cloud.wps.example;

// import cn.hutool.core.io.FileUtil;
// import lombok.val;
// import org.apache.poi.xwpf.usermodel.XWPFDocument;
// import org.apache.poi.xwpf.usermodel.XWPFParagraph;
// import org.apache.poi.xwpf.usermodel.XWPFRun;

// import java.io.File;
// import java.io.FileOutputStream;
// import java.nio.file.Files;
// import java.util.HashMap;
// import java.util.Map;

// /**
//  * 演示docx文档数据填充功能
//  */
// public class WordDataFiller {

//     public static void main(String[] args) {
//         try {
//             // 创建一个空白的 Word 文档
//             val srcPath = "/Users/jackgu/Documents/w/老俞/电子表单小程序/道路交通事故当事人陈述材料.docx";
//             XWPFDocument document = new XWPFDocument(Files.newInputStream(FileUtil.file(srcPath).toPath()));

//             // 定义要填充的数据
//             // 定义要填充的数据
//             Map<String, String> data = new HashMap<>();
//             data.put("name", "John Doe");
//             data.put("sex", "男");
//             data.put("year", "2023");
//             data.put("month", "12");
//             data.put("day", "31");

//             fillDocument(document, data);


//             // 保存填充后的 Word 文档
//             FileOutputStream fos = new FileOutputStream(new File("/Users/jackgu/Documents/w/老俞/电子表单小程序/道路交通事故当事人陈述材料3.doc"));
//             document.write(fos);
//             fos.close();

//             System.out.println("Word 文档填充完成。");
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//     }

//     private static void fillDocument(XWPFDocument document, Map<String, String> data) {
//         // 遍历文档中的段落
//         for (XWPFParagraph paragraph : document.getParagraphs()) {
//             // 获取段落文本
//             String paragraphText = paragraph.getText();

//             // 遍历段落中的运行
//             for (XWPFRun run : paragraph.getRuns()) {
//                 // 获取运行文本
//                 String runText = run.getText(0);

//                 // 替换文本中的占位符
//                 for (Map.Entry<String, String> entry : data.entrySet()) {
//                     String placeholder = "${" + entry.getKey() + "}";
//                     if (runText != null && runText.contains(placeholder)) {
//                         runText = runText.replace(placeholder, entry.getValue());
//                         run.setText(runText, 0);
//                     }
//                 }
//             }
//         }
//     }
// }

